* {
	padding: 0;
	margin: 0;
}

body {
	width: 100%;
	height: 100vh;
	display: grid;
	place-items: center;
	background: #081621;
}

@property --pulse {
  syntax: '<length>';
  inherits: false;
  initial-value: 80px;
}

@property --pulse2 {
  syntax: '<length>';
  inherits: false;
  initial-value: 56px;
}

@property --r {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
img {
	background: red;
	width: 100px;
	height: 100px;
}
.earth {
	position: relative;
	width: 600px;
	aspect-ratio: 1;
	border-radius: 50%;
	background-image: url('https://i.postimg.cc/9QCCCVsQ/earth.png');
  background-repeat: repeat-x;
  background-size: cover;
  animation: earth 40s linear infinite, pulse 2s linear infinite alternate-reverse;
  box-shadow: 0 -1px 1px 1px white,
  -1px 1px 1px 1px #64BEC8, 
  0 0 var(--pulse) -20px #64BEC8, 
  inset 0 0 76px -10px #64BEC8,
  inset 0 0 var(--pulse2) -10px #64BEC8;
	&:before,
	&:after {
		content: '';
		position: absolute;
		left: 70px;
		height: 10px;
		border-radius: 45%;
		filter: blur(12px);
		transform: rotate(var(--r));
    animation: rotation 10s linear infinite;
	}
	&:before {
		width: 14%;
		
		box-shadow: inset 0 0 70px 90px #A47478, 
    0 0 140px 70px #A47478;
	}
	&:after {
		width: 7%;
		height: 10px;
		box-shadow: inset 0 0 70px -50px white, 
    inset 0 0 70px 90px #E5BC77, 
    0 0 130px 50px #E5BC77;
	}
}

@keyframes earth {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -199% 0;
  }
}

@keyframes pulse {
  0% {
    --pulse: 8rem;
    --pulse2: 5.6rem;
    --r: 0deg;
    
  }
  100% {
    --pulse: 10rem;
    --pulse2: 3.6rem;
    --r: 180deg;
  }
}

@keyframes rotation {
  from {
    --r: 0deg;
  }
  to {
    --r: 180deg;
  }
}